package com.anyou.mall.goo.goods.vo;

import com.anyou.common.annotation.Excel;
import com.anyou.common.core.domain.BaseEntity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;

import java.math.BigDecimal;
import java.util.List;

@Data
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper=false)
@ApiModel(value = "商品明细")
@TableName(value = "goo_goods")
public class GooGoodsDetailVo extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 商品编号 */
    @TableId(type = IdType.AUTO)
    @ApiModelProperty("商品编号")
    private Long goodsId;

    /** 商家编号 */
    @ApiModelProperty("商家编号")
    @Excel(name = "商家编号")
    private Long storeId;

    /** 汽配商编号 */
    @ApiModelProperty("汽配商编号")
    @Excel(name = "汽配商编号")
    private Long carPartsShopId;

    /** 商品名称 */
    @ApiModelProperty("商品名称")
    @Excel(name = "商品名称")
    private String goodsName;

    /** 商品图片路径 */
    @ApiModelProperty("商品图片路径")
    @Excel(name = "商品图片路径")
    private String goodsImgUrl;

    /** 配件分类编号 */
    @ApiModelProperty("配件分类编号")
    @Excel(name = "配件分类编号")
    private Long partsClassifyId;

    /** 销售数量 */
    @ApiModelProperty("销售数量")
    @Excel(name = "销售数量")
    private Long sellingNumber;

    /** 销售价格 */
    @ApiModelProperty("销售价格")
    @Excel(name = "销售价格")
    private BigDecimal sellingPrice;

    /** 成色（1全新件，2拆车件，3二手件） */
    @ApiModelProperty("成色（1全新件，2拆车件，3二手件）")
    @Excel(name = "成色", readConverterExp = "1=全新件，2拆车件，3二手件")
    private String condition;

    /** 配件品牌编号 */
    @ApiModelProperty("配件品牌编号")
    @Excel(name = "配件品牌编号")
    private Long partsBrandId;

    /** 适用车系 */
    @ApiModelProperty("适用车系")
    @Excel(name = "适用车系")
    private String suitCarSeries;

    /** 生产地址 */
    @ApiModelProperty("生产地址")
    @Excel(name = "生产地址")
    private String produceAddress;

    /** 底盘号 */
    @ApiModelProperty("底盘号")
    @Excel(name = "底盘号")
    private String chassisNo;

    /** 零件号 */
    @ApiModelProperty("零件号")
    @Excel(name = "零件号")
    private String partNo;

    /** 重量（kg） */
    @ApiModelProperty("重量（kg）")
    @Excel(name = "重量", readConverterExp = "k=g")
    private Long weightNumber;

    /** 长度（mm） */
    @ApiModelProperty("长度（mm）")
    @Excel(name = "长度", readConverterExp = "m=m")
    private Long lengthNumber;

    /** 宽度（mm） */
    @ApiModelProperty("宽度（mm）")
    @Excel(name = "宽度", readConverterExp = "m=m")
    private Long widthNumber;

    /** 高度（mm） */
    @ApiModelProperty("高度（mm）")
    @Excel(name = "高度", readConverterExp = "m=m")
    private Long heightNumber;

    /** 体积（立方米） */
    @ApiModelProperty("体积（立方米）")
    @Excel(name = "体积", readConverterExp = "立=方米")
    private Long volumeNumber;

    /** 商品介绍 */
    @ApiModelProperty("商品介绍")
    @Excel(name = "商品介绍")
    private String goodsIntroduce;

    /** 库存预警 */
    @ApiModelProperty("库存预警")
    @Excel(name = "库存预警")
    private Long stockWarning;

    /** 最低购买数 */
    @ApiModelProperty("最低购买数")
    @Excel(name = "最低购买数")
    private Long minBuyNumber;

    /** 发货时间类型（1立即发货，2定时发货） */
    @ApiModelProperty("发货时间类型（1立即发货，2定时发货）")
    @Excel(name = "发货时间类型", readConverterExp = "1=立即发货，2定时发货")
    private String deliveryTimeType;

    /** 定时天数 */
    @ApiModelProperty("定时天数")
    @Excel(name = "定时天数")
    private Long timingDayNumber;

    /** 是否支持安邮配送（0否，1是） */
    @ApiModelProperty("是否支持安邮配送（0否，1是）")
    @Excel(name = "是否支持安邮配送", readConverterExp = "0=否，1是")
    private String isSupportAnyou;

    /** 是否支持自行配送（0否，1是） */
    @ApiModelProperty("是否支持自行配送（0否，1是）")
    @Excel(name = "是否支持自行配送", readConverterExp = "0=否，1是")
    private String isSupportOwn;

    /** 是否支持快递物流（0否，1是） */
    @ApiModelProperty("是否支持快递物流（0否，1是）")
    @Excel(name = "是否支持快递物流", readConverterExp = "0=否，1是")
    private String isSupportLogistics;

    /** 快递物流费用 */
    @ApiModelProperty("快递物流费用")
    @Excel(name = "快递物流费用")
    private BigDecimal logisticsCost;

    /** 上架状态（0下架 1上架） */
    @ApiModelProperty("上架状态（0下架 1上架）")
    @Excel(name = "上架状态（0下架 1上架）")
    private String publishStatus;

    /** 审核状态（0待审核 1通过 2不通过） */
    @ApiModelProperty("审核状态（0待审核 1通过 2不通过）")
    @Excel(name = "审核状态（0待审核 1通过 2不通过）")
    private String auditStatus;

    /** app首页推荐（0不推荐 1推荐） */
    @ApiModelProperty("app首页推荐（0不推荐 1推荐）")
    @Excel(name = "app首页推荐（0不推荐 1推荐）")
    private String appIndexStatus;

    /** 店铺首页推荐商品 （0不推荐 1推荐） */
    @ApiModelProperty("店铺首页推荐商品 （0不推荐 1推荐）")
    @Excel(name = "店铺首页推荐商品 （0不推荐 1推荐）")
    private String storeIndexStatus;

    /** 删除标志（0代表存在 2代表删除） */
    @ApiModelProperty("删除标志（0代表存在 2代表删除）")
    private String delFlag;


    @ApiModelProperty("查询配件品牌")
    private PartsBrandNameListVo partsBrandNameVo;

    @ApiModelProperty("查询配件分类")
    private PartsClassifyNameListVo partsClassifyNameVo;

    @ApiModelProperty("查询店铺名称")
    private ShopNameListVo shopNameVo;

}
